package com.xunfang.config;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author yellow Doctor
 * @date 2025-11-11
 * @desc https://blog.csdn.net/hekai7217
 *   测试广播模式
 *
 *   01 交换机
 *           fanout.exchange
 *   02 队列
 *           nancheng.gk
 *           songshanghu.gk
 *           xunfang.gk
 *
 *   03 交换机和队列绑定
 *
 *
 *   广播模型:
 *     01   异常日志
 *              存储到db中
 *              运维部门的人进行 系统查看
 *              开发部门找异常 进行修复
 *
 *    02    订单支付成功
 *              扣库存
 *              物流信息生成
 *              积分系统 添加积分
 *
 */

@Configuration
public class FanoutModelConfig {

//    //准备队列
//    //创建两个队列
//    @Bean
//    public Queue fanoutQueue1() {
//        return new Queue("nancheng.gk");
//    }
//
//    @Bean
//    public Queue fanoutQueue2() {
//        return new Queue("songshanghu.gk");
//    }
//
//    @Bean
//    public Queue fanoutQueue3() {
//        return new Queue("xunfang.gk");
//    }
//
//    @Bean
//    public FanoutExchange fanoutExchange(){
//        return new FanoutExchange("fanout.exchange");
//    }
//
//    //绑定
//    @Bean
//    public Binding fanoutBinding1(Queue fanoutQueue1, FanoutExchange fanoutExchange) {
//        return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
//    }
//
//    @Bean
//    public Binding fanoutBinding2(Queue fanoutQueue2, FanoutExchange fanoutExchange) {
//        return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);
//    }
//
//    @Bean
//    public Binding fanoutBinding3(Queue fanoutQueue3, FanoutExchange fanoutExchange) {
//        return BindingBuilder.bind(fanoutQueue3).to(fanoutExchange);
//    }

}
